/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SISAC.DACEA.BL;

import SISAC.DACEA.DA.AlumnoDA;
import SISAC.DACEA.DA.CicloAcademicoDA;
import SISAC.DACEA.DA.CobroDA;
import SISAC.DACEA.DA.MatriculaDA;
import SISAC.DACEA.DA.SalonDA;
import SISAC.DACEA.ENTITY.Alumno;
import SISAC.DACEA.ENTITY.CicloAcademico;
import SISAC.DACEA.ENTITY.Cobro;
import SISAC.DACEA.ENTITY.Matricula;
import SISAC.DACEA.ENTITY.Salon;
import java.util.ArrayList;
import javax.xml.crypto.Data;

/**
 *
 * @author Abel
 */
public class MatriculaBL {
    
    public synchronized void matricular() {
    }

    public synchronized CicloAcademico alistarCiclo() {
        
        ArrayList<CicloAcademico> lstCicloAcademico = new ArrayList<CicloAcademico>();
        try {
            CicloAcademico oCicloAcademico=new CicloAcademico();
            lstCicloAcademico = new CicloAcademicoDA().obtenerCicloAcademico();
            oCicloAcademico.setCodigoCiclo(lstCicloAcademico.get(0).getCodigoCiclo());
            oCicloAcademico.setNombreCiclo(lstCicloAcademico.get(0).getNombreCiclo());
            oCicloAcademico.setCodigoCobro(lstCicloAcademico.get(0).getCodigoCobro());
            oCicloAcademico.setFechaInicio(lstCicloAcademico.get(0).getFechaInicio());
            oCicloAcademico.setFechaFin(lstCicloAcademico.get(0).getFechaFin());
            
            
            return oCicloAcademico;
        } catch (Exception e) {
            return null;
        }
    }
    
    public synchronized Cobro obtenerCuotas(Cobro oCobro1) {
       Cobro oCobro = new Cobro();     
       ArrayList<Cobro> lstCuotas = new ArrayList<Cobro>();
       try{
           lstCuotas=new CobroDA().obtenerCuotas(oCobro1);
           
           oCobro.setCodigoCobro(lstCuotas.get(0).getCodigoCobro());
           oCobro.setCuotaUno(lstCuotas.get(0).getCuotaUno());
           oCobro.setCuotaDos(lstCuotas.get(0).getCuotaDos());
           oCobro.setCuotaTres(lstCuotas.get(0).getCuotaTres());
           
           return oCobro;
        } catch (Exception e) {
            return null;
        }
    }
    public synchronized ArrayList<Salon> obtenerCodigoSalon(Salon oSalon1){
        try {
            return new SalonDA().obtenerCodigoSalon(oSalon1);
        } catch (Exception e) {
            System.out.println("Error Obtener codigo salon BL en obtenercodigoSalon"+e);
            return null;
        }
    }
    public synchronized void matricular(Matricula oMatricula){
        try {
            
            oMatricula.setFechaMaticula(new java.sql.Date(new java.util.Date().getTime()));
            new MatriculaDA().Matricular(oMatricula);
        } catch (Exception e) {
            System.out.println("Error MatriculaBL"+e);
            
        }
    }
    public synchronized Alumno registrarAlumno(Alumno oAlumno){
        try {
            return new AlumnoDA().registrarAlumno(oAlumno);
            
        } catch (Exception e) {
            System.out.println("Error registrarAlumnoBL "+e);
            return null;
        }
    }
    public synchronized void actualizarCantidadMatriculados(Salon oSalon){
        try {
            //aumentamos un alumno mas al salon
            new SalonDA().actualizarCantidadMatriculados(oSalon);
            
        } catch (Exception e) {
            System.out.println("Error registrarAlumnoBL "+e);
        }
    }
    
        public synchronized ArrayList<Salon> cargarArea(Salon oSalon){
        try {
            return new SalonDA().cargarArea(oSalon);
        } catch (Exception e) {
            System.out.println("Error Obtener codigo salon BL en obtenercodigoSalon"+e);
            return null;
        }
    }
}
